CLAUDE.md
Claude Code guidance for CMMC Watch - Daily CMMC/NIST compliance news aggregator.
Live: https://cmmcwatch.com | Docs: See README.md, CONTRIBUTING.md, ANALYSIS.md
Commands
Run: cd scripts && python main.py | No archive: --no-archive | Dry run: --dry-run | Test: pytest | Format: ruff format scripts/
Tool Usage
Use sg -l python for code searches, rg for text/config, fdfind for file finding. See ~/.claude/CLAUDE.md.
Environment Variables
Required in .env or GitHub Secrets:
GROQ_API_KEY (primary AI) | OPENROUTER_API_KEY (backup) | PEXELS_API_KEY (primary images) | UNSPLASH_ACCESS_KEY (backup) | APIFY_API_KEY (LinkedIn) | APIFY_ACTOR_ID (LinkedIn scraper)
Architecture
Pipeline (10 steps in main.py):
Archive β Collect CMMC trends β Fetch images β Generate design β Generate editorial β Build HTML β Generate RSS β PWA assets β Sitemap β Cleanup
| Module | Purpose |
|---|---|
main.py |
Pipeline orchestrator |
collect_trends.py |
CMMC RSS feeds, Reddit, LinkedIn |
fetch_images.py |
Pexels/Unsplash images |
fetch_linkedin_posts.py |
Apify LinkedIn scraper |
generate_design.py |
AI-driven design generation |
build_website.py |
HTML/CSS/JS builder |
editorial_generator.py |
Daily article generation |
generate_rss.py |
RSS 2.0 feed |
archive_manager.py |
30-day snapshots |
config.py |
All constants and settings |
Data Sources
RSS Feeds: FedScoop, DefenseScoop, Federal News Network, Nextgov, GovCon Wire, SecurityWeek, Cyberscoop, Breaking Defense, Defense One, Defense News, ExecutiveGov
Reddit: r/CMMC, r/NISTControls, r/FederalEmployees, r/cybersecurity, r/GovContracting
LinkedIn Influencers: Katie Arrington, Stacy Bostjanick, Matthew Travis, Summit 7 team (Scott Edwards, Jacob Horne, Daniel Akridge, Jacob Hill), Amira Armond
CMMC Categories
- CMMC Program News - Core CMMC keywords (cmmc, c3pao, cyber-ab)
- NIST & Compliance - NIST 800-171, DFARS, FedRAMP, FISMA
- Defense Industrial Base - DoD contractors, DIB news
- Federal Cybersecurity - General federal cyber news
GitHub Workflow
daily-regenerate.yml - Daily 6AM EST, push main, manual trigger